![雑然データをBIツールにいれてグラフにしてみた](https://devio2023-media.developers.io/wp-content/uploads/2021/07/eyecatch_dataanalysis_1200x630.png)
雑然データをBIツールにいれてグラフにしてみた
こんにちは!データアナリィクス事業本部の武田です。
皆様は、整然データと雑然データという言葉を聞いたことはありますか? なんとなく整然データのほうが綺麗そうで、雑然データは汚そうなイメージですね。 整然データは分析しやすい、これと反対の雑然データは分析にしにくいと言われています。
今日は、分析しにくい雑然データをBIツールにいれてグラフにしたらどうなるのかやってみたというお話です。
(決して雑然データOKという意味ではありません。こういった違いがあることを認識していただいて、データを取り扱ってほしいと願ってこの記事を書いています。はい、結論は「やっぱり整然データで!!」です。)
整然データとは
整然データとは、 個々の値が1つのセルをなす 個々の変数が1つの列をなす 個々の観測が1つの行をなす 個々の観測はユニットの類型が一つの表をなす という条件を満たすデータのことです。
(Hadley Wickham先生が提唱)
ということは、例えば・・・・
複数の値がカンマ区切りで一つのセルの中に入っていたり、 変数が行になってたり、 観測が列になっていたり、 同じ種類の観測が別表にまたがっていたりしたら 雑然データです。
整然データと雑然データの具体例
言葉で書いてあっても、具体的にイメージしにくいと思いますので、Tableauのサンプルスーパーストアのデータを使った具体例でご説明します。
整然データは下記のような状態です。
オーダー年 カテゴリ 売上 2022 事務用品 22294153 2021 事務用品 15420259 2020 事務用品 15880638 2019 事務用品 10127262 2022 家電 26949061 2021 家電 21985133 2020 家電 19268607
雑然データは下記のような状態です。
オーダー年 家具 家電 事務用品 2019 13659370 14084755 10127262 2020 19250324 19268607 15880638 2021 24615557 21985133 15420259
整然データの場合は、カテゴリーの中身が縦にずらっと並んでいます。
雑然データの場合は、カテゴリーの中身が横にずらっと並んでいます。
この雑然データの状態を、私は「横持ちしている」とよく言います。
雑然データは、エクセルでよく見かけます。人間が見てわかりやすい形をしていますね。けれども、BIツールを使って分析するには結構厄介な存在です。どう厄介なのか、実際にやってみます。
BIツールに雑然データを取り込んで可視化できるかやってみた
Tableau、Amazon QuickSight、Looker Studioと3つのBIツールで、折れ線グラフ、構成比の積み上げ棒グラフ、円グラフという3つのグラフで作り比べてみます。
Tableau編
折れ線グラフ
整然データの場合:素直に配置して完成します。
列:オーダー年 行:売上 色:カテゴリ
雑然データの場合:メジャーバリューとメジャーネームを使うという、一工夫が必要です。
列:オーダー年 行:メジャーバリュー 色:メジャーネーム
雑然データの場合、メジャーネームやメジャーバリューを知らないと、単純な折れ線グラフを作ることが難しくなります。
構成比積み上げ棒グラフ
オーダー年ごとに、カテゴリー別構成比を出します。
整然データの場合:素直に配置して完成します。
列:オーダー年 行:売上の合計(合計に対する割合で、表(下)の集計) 色:カテゴリー
雑然データの場合:構成比計算が設定できず、年ごとに100%となるような割合計算ができませんでした。(本来は年ごとに合計100%と一律になるのが正しいですが、そうなりませんでした。)
どうしても構成比のグラフを作りたかったら、データの中で先に構成比を計算しておいてデータを取り込むしかありません。(せっかくTableauで自動計算できる機能があるのに、データの段階で計算させるのは大変無念ですけども。)
円グラフ
オーダー年ごとに、カテゴリー別構成比を円グラフで出します。
整然データの場合:素直に配置して完成します。
列:オーダー年 行:指定なし
雑然データの場合:円グラフを描くことはできるのですが、ツールチップの中で「構成比(%)」を表示することはできませんでした。
どうしても構成比の数字をツールチップに表示したい場合は、データの中で先に構成比を計算しておいてデータを取り込むしかありません。
Tableau編の結果
雑然データを使っても、棒グラフや折れ線グラフは、メジャーネームやメジャーバリューを使うことで可視化できました。 しかし、割合を計算しなければならない場合は雑然データでは一部できないパターンがありました。
Amazon QuickSight編
折れ線グラフ
整然データの場合:素直に配置して完成します。
X軸:オーダー年 値:売上 色:カテゴリ
雑然データの場合
X軸:オーダー年 値:家具、家電、事務用品
構成比積み上げ棒グラフ
整然データの場合:素直に配置して完成します。
X軸:オーダー年 値:売上 色:カテゴリ
雑然データの場合
X軸:オーダー年 値:家具、家電、事務用品
円グラフ
整然データの場合:素直に配置して完成します。
X軸:オーダー年 値:売上 色:カテゴリ
雑然データの場合:円グラフを描くことはできませんでした。
Amazon QuickSight編の結果
雑然データでも、折れ線グラフと構成比の積み上げ棒グラフは問題なく描くことができましたが、円グラフは描くことができませんでした。
Looker Studio編
折れ線グラフ
整然データの場合
ディメンション:オーダー年 内訳ディメンション:カテゴリ 指標:売上
雑然データの場合
ディメンション:オーダー年 指標:家電、家具、事務用品
構成比積み上げ棒グラフ
整然データの場合
ディメンション:オーダー年 内訳ディメンション:カテゴリ 指標:売上
雑然データの場合
ディメンション:オーダー年 指標:家具、家電、事務用品
円グラフ
整然データの場合
ディメンション:カテゴリ 指標:売上
Looker Studioには複数円グラフを並べて表示する機能がありませんでしたので、2022年を指定して表示しています。
雑然データの場合:円グラフを描くことはできませんでした。
Looker Studio編の結果
Amazon QuickSightと同様、雑然データの場合は円グラフは描くことができませんでした。
(注意)オーダー年を単なる数字で「2022」として入力していると、Looker Studioでは数値として認識するので、日付型に直す必要があります。
BIツールに雑然データを取り込んでグラフにしてみた結果まとめ
シンプルな折れ線グラフであれば、雑然データでも可視化できました。しかし、割合を計算する場合にはできないパターンがあり、「雑然データは取り扱いしにくい」という結果になりました。
結論
やはり雑然データは避けるべきですね。
雑然データのデメリットは、今回試したようなBIツールを使ってグラフにできないことがあるだけではありません。運用負荷がかかり続けるというデメリットもあります。
運用の負荷というのは、例えば、今回の事例でカテゴリーを追加した場合、1列追加されるということを意味します。 それをデータベース上でやろうとすると、カラム追加で対応しないといけませんし、 BIツール側もそれに合わせてデータ連携のための設定を見直しして、ダッシュボードを修正してと、かなり手間がかかります。
整然データであれば、カテゴリーが追加されても、特にシステム改修は必要ありません。データ件数が増えるだけです。
今日はあえて雑然データをBIツールに入れてやってみましたが、やはり、「データの持ち方は大事」ですね。